home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 13 / QRZ Ham Radio Callsign Database - Volume 13.iso / unix / src / jtod.c < prev    next >
C/C++ Source or Header  |  1996-06-23  |  844b  |  55 lines

  1.  
  2. #include <string.h>
  3.  
  4.  
  5. jultodate(julyr,dob)
  6. char *julyr;
  7. char *dob;
  8. {
  9.  
  10.         int d;
  11.         int jd;
  12.         int day;
  13.         int yr;
  14.         int m;
  15.  
  16. /*                      J  F  M  A  M  J  J  A  S  O  N  D  */
  17. static int n_year[] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
  18. static int l_year[] = { 31,29,31,30,31,30,31,31,30,31,30,31 };
  19.  
  20.  
  21.     if (!strlen(julyr))
  22.         return;
  23.  
  24.         sscanf(&julyr[2],"%d",&jd);
  25.         if (!jd)
  26.                 return;
  27.  
  28.         julyr[2] = '\0';
  29.         sscanf(julyr,"%d",&yr);
  30.  
  31.         d = 0;
  32.         m = 0;
  33.  
  34.         if (yr%4) {
  35.                 while (d < jd)
  36.                         d += n_year[m++];
  37.  
  38.         d -= n_year[m-1];
  39.     }
  40.         else {
  41.                 while (d < jd)
  42.                         d += l_year[m++];
  43.  
  44.         d -= l_year[m-1];
  45.     }
  46.  
  47.  
  48.         day = jd - d;
  49.  
  50.         sprintf(dob,"%d/%d/%02d",m,day,yr);
  51.  
  52. }
  53.  
  54.  
  55.